/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

/**
 *
 * @author andreth
 */
public class Switch extends Root {
    /*Version: Not final!
     * 
     */

    private Integer id;
    /* 1) Preseleccion Coordinadores (Actor Coordinador)
     * Switch Asociado a las operaciones de:
     * Modificar los datos de un coordinador 
     * Agregar a estudiantes uno a uno o por archivo
     * Generar reportes de carga preseleccion con estudiantes agregados
     * Generar reportes de preseleccionados 
     * Cambiar las contraseñas
     * Descargar el instructivo de preseleccion
     */
    private Boolean preseleccionCoordinadores;

    /* 2) Preseleccion Estudiantes (Actor Estudiante)
     * Switch Asociado a las operaciones de:
     * Ingreso inicial de los estudiantes para comprobar su registro
     * Verificacion de  los datos de los estudiantes
     * Seleccion de las carreras que los estudiantes desean cursar (TEST)
     * Ver los resultados de preseleccion
     * Descargar el instructivo de preseleccion
     */
    private Boolean preseleccionEstudiantes;
    /* 3) Preinscripcion Coordinadores (Actor Coordinadores)
     * Switch asociado a las operaciones de:
     * Imprimir la lista de preinscritos de su colegio
     * Descargar informacion general de preinscripcion (dias de prueba etc)
     */
    private Boolean preinscripcionCoordinadores;
    /* 4)  Preinscripcion Estudiantes (Actor Estudiante)
     * Switch Asociado a las operaciones de:
     * Ver los resultados de preinscripcion turno parada fecha pruebas
     * Ver los resultados de las pruebas de admision PIO
     * Ver los resultados de las pruebas RAVEN
     * Ver informacion general del programa
     */
    private Boolean preinscripcionEstudiantes;
    /* 5) Inscripcion Estudiantes (Actor Estudiante)
     * Switch Asociado a las operaciones de:
     * Cargar la planilla de inscripcion
     * Ver resultados de inscripcion
     */
    private Boolean inscripcionEstudiantes;
    /* Fechas Globales Tentativas
     * fechaPruebaAdmision1 1er turno de pruebas de admision
     * fechaPruebaAdmision2 2do turno de pruebas de admision
     * entregaResultadosPreseleccion  >12.5 && Carreras Adecuadas 
     * entregaResultadosPreinscripcion  Asignacion de pruebas
     * entregaResultadosAdmision Resultados de las pruebas RAVEN y PIO
     */
    private String fechaPruebaAdmision1;
    private String fechaPruebaAdmision2;
    private String entregaResultadosAdmision;
    private String entregaResultadosPreseleccion;
    private String entregaResultadosPreinscripcion;

    /**
     * Constructor vacio
     */
    public Switch() {
    }

    public Integer getId() {
        return this.id;
    }

    public void setId(Integer a) {
        this.id = a;
    }

    public String getPreseleccionCoordinadores() {
        return preseleccionCoordinadores.toString();
    }

    public void setPreseleccionCoordinadores(String preseleccionCoordinadores) {
        Boolean value = Boolean.parseBoolean(preseleccionCoordinadores);
        this.preseleccionCoordinadores = value;
    }

    public String getPreseleccionEstudiantes() {
        return preseleccionEstudiantes.toString();
    }

    public void setPreseleccionEstudiantes(String preseleccionEstudiantes) {
        Boolean value = Boolean.parseBoolean(preseleccionEstudiantes);
        this.preseleccionCoordinadores = value;
    }

    public String getPreinscripcionCoodinadores() {
        return preinscripcionCoordinadores.toString();
    }

    public void setPreinscripcionCoodinadores(String preinscripcionCoodinadores) {
        Boolean value = Boolean.parseBoolean(preinscripcionCoodinadores);
        this.preseleccionCoordinadores = value;
    }

    public String getPreinscripcionEstudiantes() {
        return preinscripcionEstudiantes.toString();
    }

    public void setPreinscripcionEstudiantes(String preinscripcionEstudiantes) {
        Boolean value = Boolean.parseBoolean(preinscripcionEstudiantes);
        this.preseleccionCoordinadores = value;
    }

    public String getInscripcionEstudiantes() {
        return inscripcionEstudiantes.toString();
    }

    public void setInscripcionEstudiantes(String inscripcionEstudiantes) {
        Boolean value = Boolean.parseBoolean(inscripcionEstudiantes);
        this.preseleccionCoordinadores = value;
    }

    public String getFechaPruebaAdmision1() {
        return fechaPruebaAdmision1;
    }

    public void setFechaPruebaAdmision1(String fechaPruebaAdmision1) {
        this.fechaPruebaAdmision1 = fechaPruebaAdmision1;
    }

    public String getFechaPruebaAdmision2() {
        return fechaPruebaAdmision2;
    }

    public void setFechaPruebaAdmision2(String fechaPruebaAdmision2) {
        this.fechaPruebaAdmision2 = fechaPruebaAdmision2;
    }

    public String getEntregaResultadosAdmision() {
        return entregaResultadosAdmision;
    }

    public void setEntregaResultadosAdmision(String entregaResultadosAdmision) {
        this.entregaResultadosAdmision = entregaResultadosAdmision;
    }

    public String getEntregaResultadosPreseleccion() {
        return entregaResultadosPreseleccion;
    }

    public void setEntregaResultadosPreseleccion(String entregaResultadosPreseleccion) {
        this.entregaResultadosPreseleccion = entregaResultadosPreseleccion;
    }

    public String getEntregaResultadosPreinscripcion() {
        return entregaResultadosPreinscripcion;
    }

    public void setEntregaResultadosPreinscripcion(String entregaResultadosPreinscripcion) {
        this.entregaResultadosPreinscripcion = entregaResultadosPreinscripcion;
    }

    public Boolean valido() {
        if (validarFecha(this.entregaResultadosAdmision) && validarFecha(this.entregaResultadosPreseleccion)
                && validarFecha(this.entregaResultadosPreinscripcion)
                && validarFecha(this.fechaPruebaAdmision2) && validarFecha(this.fechaPruebaAdmision1)) {
            return true;
        }
        return false;
    }

    public Boolean validarFecha(String fecha) {
        boolean valido = true;
        if (fecha.length() != 10) {
            return false;
        }
        if (fecha.split("/").length != 3) {
            return false;
        }
        String[] fechas = fecha.split("/");
        if (fechas[0].length() != 2
                && fechas[1].length() != 2
                && fechas[3].length() != 4) {
            return false;
        }

        /*dd/mm/yyyy
         * Al menos luce como fecha
         */

        return valido;
    }

    public String toStringAtts() {
        String rs = "(\"preseñeccionCoordinadores"
                + "\",\"" + "preseleccionEstudiantes"
                + "\",\"" + "preinscripcionCoordinadores"
                + "\",\"" + "preinscripcionEstudiantes"
                + "\",\"" + "inscripcionEstudiantes"
                + "\",\"" + "fechaPruebaAdmision1"
                + "\",\"" + "fechaPruebaAdmision2"
                + "\",\"" + "entregaResultadosAdmision"
                + "\",\"" + "entregaResultadosPreseleccion"
                + "\",\"" + "entregaResultadosPreinscripcion\")";
        return rs;
    }

    public String toStringValues() {
        String rs = "("
                + this.getPreseleccionCoordinadores()
                + "," + this.getPreseleccionEstudiantes()
                + "," + this.getPreinscripcionCoodinadores()
                + "," + this.getPreinscripcionEstudiantes()
                + "," + this.getInscripcionEstudiantes()
                + ",\'" + this.getFechaPruebaAdmision1()
                + "\',\'" + this.getFechaPruebaAdmision2()
                + "\',\'" + this.getEntregaResultadosAdmision()
                + "\',\'" + this.getEntregaResultadosPreseleccion()
                + "\',\'" + this.getEntregaResultadosPreinscripcion()
                + "\')";
        return rs;
    }

    public void setInscripcionEstudiantesB(Boolean aBoolean) {
        this.inscripcionEstudiantes = aBoolean;
    }

    public void setPreinscripcionCoodinadoresB(Boolean aBoolean) {
        this.preinscripcionCoordinadores = aBoolean;
    }

    public void setPreseleccionEstudiantesB(Boolean aBoolean) {
        this.preseleccionEstudiantes = aBoolean;
    }

    public void setPreseleccionCoordinadoresB(Boolean aBoolean) {
        this.preseleccionCoordinadores = aBoolean;
    }

    public void setPreinscripcionEstudiantesB(Boolean aBoolean) {
        this.preinscripcionEstudiantes = aBoolean;
    }
}
